#include<iostream>
#include<array>
#include<algorithm>
#include<iterator>
#include<type_traits>
#include<typeinfo>
using namespace std;

template<typename... TS>
void PrintType(TS... ts)
{
	typename common_type<TS...>::type temp{ 0 };
	cout << typeid(temp).name() << endl;
}

int main(void)
{
	PrintType(1, 2, 3, 4);								//int
	PrintType(-1, 1, 2, -4);							//int
	PrintType(1LL, 2LL, 3LL, 4LL);						//__int64
	PrintType('1', '2', '3', '4');						//char
	PrintType("11", "222", "3333", "444444");			//char const *

	return 0;
}
